//
//  HMBaseTableTableViewController.swift
//  SinaWeibo
//
//  Created by apple on 16/9/23.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

/*
 协议和代理的使用  完成了多继承
 1. 定义协议
 2. 遵守协议,指定代理 
 3. 实现协议方法
 */

//多继承
//OC有多继承吗? 如果没有 通过什么来替代?  协议
//必选的协议方法 必须要实现 否则报错
class HMBaseTableTableViewController: UITableViewController,HMVisitorLoginViewDelegate {
    
    var userLogin = HMUserAccountViewModel.sharedAccountViewModel.userLogin
    
    lazy var visitorview: HMVisitorLoginView = HMVisitorLoginView()
    //自定义根视图
    override func loadView() {
        if userLogin {
            //tableView 创建tableView
            super.loadView()
        } else {
            //提示用户登录 显示访客视图
            //自定义根视图
            
            //visitorview.backgroundColor = UIColor.red
            //根视图的frame 会在 viewWillLayoutsubViews方法中重新设置
            view = visitorview
            visitorview.delegate = self
        }
    }
    
    //实现协议方法
    func userWillReigster() {
        print("用户将要注册")
        print("~~~~~~~~~~~~~~~~~~~~~~")
    }
    
    func userWillLogin() {
        let oauth = HMOAuthViewController()
        
        //使用push 还是 modal  人机交互 push 执行线性的操作就应该使用push 如果打断线性的操作就应该使用modal(模态)
        //实例化导航视图控制器
        let nav = UINavigationController(rootViewController: oauth)
        present(nav, animated: true, completion: nil)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

}
